package cn.broadsense.biz.dto;

import cn.broadsense.biz.domain.ChannelTag;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

@Setter
@Getter
public class ChannelDto implements Serializable {

    @ApiModelProperty("id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /**
     * 通道编码
     */
    @ApiModelProperty("通道编码")
    private String channelCode;

    /**
     * 通道名称
     */
    @ApiModelProperty("通道名称")
    private String channelName;

    /**
     * 摄像机类型（1-枪机 2- 球机 3-半球 ）
     */
    @ApiModelProperty("摄像机类型（1-枪机 2- 球机 3-半球 ）")
    private String cameraType;

    /**
     * 通道国际编码
     */
    @ApiModelProperty("通道国际编码")
    private String channelSn;

    /**
     * 经度
     */
    @ApiModelProperty("经度")
    private String gpsX;

    /**
     * 纬度
     */
    @ApiModelProperty("纬度")
    private String gpsY;

    /**
     * 功能应用
     */
    @ApiModelProperty("功能应用")
    private String ability;

    /**
     * 立杆高度
     */
    @ApiModelProperty("立杆高度")
    private BigDecimal columnHeight;

    /**
     * 横臂长度
     */
    @ApiModelProperty("横臂长度")
    private BigDecimal columnLength;

    /**
     * 朝向
     */
    @ApiModelProperty("朝向")
    private String orientation;

    /**
     * 杆件编码
     */
    @ApiModelProperty("杆件编码")
    private String columnCode;

    /**
     * 三维数据状态 1=无三维数据 2已填写三维数据
     */
    @ApiModelProperty("三维数据状态 1=无三维数据 2已填写三维数据 3=已创建任务")
    private Integer threeDDataStatus;


    @ApiModelProperty("组织编码")
    private String orgCode;
    @ApiModelProperty("组织名称")
    private String orgName;

    @ApiModelProperty("三维数据")
    private Channel3dDataDto channel3dData;

    @ApiModelProperty("是否收藏 1=收藏 0=未收藏 2=标签")
    private Integer follow;

    @ApiModelProperty("标签id")
    private Long tagId;

    @ApiModelProperty("标签id列表")
    private List<Long> tagList;

    @ApiModelProperty("标签列表")
    private List<ChannelTag> channelTagList;


    @ApiModelProperty("是否有立杆(1-是、2-否)")
    private Integer pole;

    @ApiModelProperty("立杆经度")
    private Double poleLng;

    @ApiModelProperty("立杆坐标纬度")
    private Double poleLat;
    @ApiModelProperty("立杆高度")
    private Integer poleHeight;

    private Integer status;
}
